package Bill.app.client;

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.swing.*;

import Bill.util.Configuration;

public class AJouter extends JFrame
    implements ActionListener, KeyListener
{

    AJouter(String expediteur)
    {
        super("BZHMessenger 1.0.0  ajout d'un contact");
        loginContact = new JTextField(50);
        nomcontact = new JTextField(50);
        prenomContact = new JTextField(50);
        valider = new JButton("valider");
        info = new JLabel();
        this.expediteur = null;
        this.expediteur = expediteur;
        JPanel pan = new JPanel();
        pan.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createCompoundBorder(BorderFactory.createTitledBorder("AJOUT D'UN CONTACT "), BorderFactory.createEmptyBorder(5, 5, 5, 5)), pan.getBorder()));
        pan.setLayout(new GridLayout(0, 2, 10, 10));
        pan.add(new JLabel("   login du contact:"));
        pan.add(loginContact);
        loginContact.setToolTipText("le login de v otre contact");
        pan.add(new JLabel("    nom du contact:"));
        pan.add(nomcontact);
        nomcontact.setToolTipText("le nom de votre contact ,facultatif");
        pan.add(new JLabel("    prenom du contact:"));
        pan.add(prenomContact);
        prenomContact.setToolTipText("prenom de votre contact ,facultatif");
        pan.add(info);
        pan.add(valider);
        add(pan);
        valider.setToolTipText("envoyer les donner au serveur");
        valider.setMnemonic('E');
        valider.addActionListener(this);
        prenomContact.addKeyListener(this);
        setIconImage((new ImageIcon("images.gif")).getImage());
        setSize(300, 300);
        Dimension dimensionecran = Toolkit.getDefaultToolkit().getScreenSize();
        setLocation((dimensionecran.width - getWidth()) / 2 - 100, (dimensionecran.height - getHeight()) / 2);
        setBackground(new Color(167, 20, 171));
        setVisible(true);
        setResizable(false);
    }

    public void actionPerformed(ActionEvent a)
    {
        if(a.getSource() == valider)
            if(loginContact.getText().compareToIgnoreCase("") == 0)
                info.setText("Login Contact incorrect!!!");
            else
            if(loginContact.getText().trim().compareToIgnoreCase(expediteur) == 0)
            {
                JOptionPane.showMessageDialog(null, "<html><h1><blink>vous pouvez pas vous ajouter vous m\350me!!</blink></h1><html>");
            } else
            {
                if(nomcontact.getText().compareToIgnoreCase("") == 0)
                    nomcontact.setText("X");
                if(prenomContact.getText().compareToIgnoreCase("") == 0)
                    prenomContact.setText("X");
                info.setText("traitement en cours...");
                String text = "";
                Socket envoi = null;
                try
                {Configuration.loadConfiguration();
                    envoi = new Socket(Configuration.IPserveur, Configuration.Config_portServeur);
                }
                catch(UnknownHostException e3)
                {
                    info.setText("erreur de connexion!verifier que vous bien connect\351(e) au reseau!");
                }
                catch(IOException e3)
                {
                    info.setText("erreur de connexion!verifier que vous bien connect\351(e) au reseau!");
                }
                BufferedReader lecture = null;
                try
                {
                    lecture = new BufferedReader(new InputStreamReader(envoi.getInputStream()));
                }
                catch(IOException e2)
                {
                    info.setText("erreur de connexion!verifier que vous bien connect\351(e) au reseau!");
                }
                PrintWriter ecriture = null;
                try
                {
                    ecriture = new PrintWriter(new BufferedWriter(new OutputStreamWriter(envoi.getOutputStream())), true);
                }
                catch(IOException e2)
                {
                    info.setText("erreur de connexion!verifier que vous bien connect\351(e) au reseau!");
                }
                String mes = (new StringBuilder("3:")).append(expediteur).append(":").append(loginContact.getText()).append(":").append(nomcontact.getText()).append(":").append(prenomContact.getText()).toString();
                ecriture.println(mes);
                try
                {
                    text = lecture.readLine();
                    envoi.close();
                    lecture.close();
                    ecriture.close();
                }
                catch(IOException e1)
                {
                    info.setText("erreur de donn\351e");
                }
                if(text.charAt(0) != '0')
                {
                    JOptionPane.showMessageDialog(null, text);
                    setVisible(false);
                } else
                {
                    info.setText(text);
                }
            }
    }

    public void keyPressed(KeyEvent e)
    {
        if(e.getKeyCode() == 10)
            valider.doClick();
    }

    public void keyReleased(KeyEvent keyevent)
    {
    }

    public void keyTyped(KeyEvent keyevent)
    {
    }

    private static final long serialVersionUID = 1L;
    JTextField loginContact;
    JTextField nomcontact;
    JTextField prenomContact;
    JButton valider;
    JLabel info;
    String expediteur;
}
